home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / lib / powerd_lib.lha / PowerD / EStrAdd.ass < prev    next >
Encoding:
Text File  |  1999-06-23  |  465 b   |  32 lines

  1. ; a0 - estr
  2. ; a1 - str
  3. ; d0 - length=-1
  4.  
  5.     xdef    _EStrAdd
  6.  
  7. _EStrAdd    movem.l    d2-d3/a2,-(a7)
  8.     moveq    #0,d3
  9.     move.w    (-2,a0),d3
  10.     move.l    a0,a2
  11.     moveq    #0,d1
  12.     move.w    (-4,a0),d1
  13.     sub.l    d3,d1
  14.     add.l    d3,a0
  15.     cmp.l    d0,d1
  16.     bpl.s    .skip
  17.     move.l    d1,d0
  18. .skip    move.w    d0,d2
  19.     beq.s    .dontfit
  20.     subq.l    #1,d0
  21. .loop    move.b    (a1)+,(a0)+
  22.     beq.s    .done
  23.     dbra.s    d0,.loop
  24.     clr.b    (a0)+
  25. .done    addq.w    #1,d0
  26.     sub.w    d0,d2
  27.     add.w    d3,d2
  28.     move.w    d2,(-2,a2)
  29. .dontfit    move.l    a2,d0
  30.     movem.l    (a7)+,d2-d3/a2
  31.     rts
  32.